var foo = () => {
  //浏览器中： (Error: Uncaught ReferenceError: arguments is not defined at foo)
  // 因为会顺着作用域链找 arguments ,此时上层作用域为全局对象 window , 而全局对象中无 arguments

  // Node中：会有值
  // 因为 Node 会把文件当成一个个模块，在这个文件上层作用域中会有 arguments
  console.log(arguments) 
}

foo()

function foo1() {
  var bar = () => {
    // 会通过作用域链找到上层的 arguments
    console.log(arguments) // 123
  }
  return bar
}

var fn = foo1(123)
fn()

// (更推荐这种用法)
// 箭头函数实现 arguments 
var foo2 = (n1, n2, ...args) => {
  console.log(n1) // 10
  console.log(n2) // 20
  console.log(args) // [30, 40, 50]
}

foo2(10, 20, 30, 40, 50)